package oracle;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

/**
 * 参考Mysql封装，写Oracle封装【作业2】
 * 作业oracle封装
 *  //参考Mysql封装，写Oracle封装【作业2】
 *   //参考Mysql封装，写Oracle封装【作业2】
 *    //参考Mysql封装，写Oracle封装【作业2】
 *     //参考Mysql封装，写Oracle封装【作业2】
 *      //参考Mysql封装，写Oracle封装【作业2】
 *       //参考Mysql封装，写Oracle封装【作业2】
 *        //参考Mysql封装，写Oracle封装【作业2】
 */
public class Oracle {
    //1.任何数据库具备：地址、用户名、密码
    private static String url;
    private static String username;
    private static String password;
    //2.静态方法:getParam(String 路径)---链接数据库--读取信息
    //2.1 配置文件：键值对出现，保存数据库对应的基本信息  xxx.properties

    public static void getParam(String fileName) throws IOException {
        //2.2 Properties类--读取xxx.properties配置文件
        Properties p=new Properties();
        //2.3 外置文件读取---借助IO---搬运数据---InputStream
        InputStream fis=
                oracle.Oracle.class.getClassLoader().getResourceAsStream(fileName);
        p.load(fis);
        //2.4 读取数据库基本信息【url、用户、密码】赋值给当前对象【url、用户、密码】
        //3.通过封装
        url=p.getProperty("url");
        username=p.getProperty("username");
        password=p.getProperty("password");
        System.out.println("测试链接成功："+url+username+password);
    }

    public static void main(String[] args) throws IOException, SQLException {
        //测试封装概念--链接成功数据库
        oracle.Oracle.getParam("db_mysql.properties");
        //参考Mysql封装，写Oracle封装【作业2】
        Connection con= DriverManager.getConnection(url,username,password);
        //2.执行sql---Statement  代表Java执行数据 sql
        Statement st=con.createStatement();
        //4.关闭链接--Statement--Connection
        st.close(); con.close();
    }
}

